package com.lsj.dto.sys;

import com.lsj.core.page.QueryTag;
import com.lsj.core.page.QueryEnum;
import com.lsj.core.validate.Update;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * @Author:lin.sj
 * @Data:2021/7/8 19:48
 * @Desc:
 */
@Data
@Accessors(chain = true)
public class RoleDto {
    /**
     * 主键
     */
    @NotNull(message = "主键不能为空",groups = {Update.class})
    private Long id;

    /**
     * 角色名称(汉字)
     */
    @NotBlank(message = "角色名称不能为空")
    @QueryTag(value = QueryEnum.like)
    private String roleName;

    /**
     * 角色描述
     */
    @QueryTag(value = QueryEnum.like)
    private String roleDesc;

    /**
     * 角色的英文code.如：ADMIN
     */
    @NotBlank(message = "角色代码不能为空")
    @Pattern(regexp = "^[A-Za-z]+$",message = "角色代码只能为英文字符(包括大小写)")
    @QueryTag(value = QueryEnum.like)
    private String roleCode;

    /**
     * 角色顺序
     */
    private Integer sort;

    /**
     * 0:启用,1:禁用
     */
    @NotNull(message = "角色启用状态不能为空",groups = Update.class)
    private Boolean status;

}
